package org.kealinghornets.nxtdroid;

import org.kealinghornets.nxtdroid.NXT.LightSensor;
import org.kealinghornets.nxtdroid.NXT.NXTThread;
import org.kealinghornets.nxtdroid.NXT.TouchSensor;

/**
 * Created by jychuah on 11/3/13.
 */
public class MyNXTThread extends NXTThread {

    int state = 1;
    LightSensor eyeball;

    public MyNXTThread() {
        setNXTThreadName("Example Clone Bridge Crosser");
    }

    public void run() {
        while (state != -1) {
            switch(state) {
                case 1 : do_state_1(); break;
                case 2 : do_state_2(); break;
                case 3 : do_state_3(); break;
                case 4 : do_state_4(); break;
                case 5 : do_state_5(); break;
                case 6 : do_state_6(); break;
                case 7 : do_state_7(); break;
                case 8 : do_state_8(); break;
                case 9 : do_state_9(); break;
                case 10 : do_state_10(); break;
                case 11 : do_state_11(); break;
                case 12 : do_state_12(); break;
                default : state = -1; break;
            }
        }
    }
    public void do_state_1() {
        runMotor(PORT_A,-100);
        runMotor(PORT_B, 100);
        wait(1600);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log("I'm in state 1");
        if (eyeball.getLightValue() > 200) {
            state = 2;
        } else {
            state = 3;
        }

    }

    public void do_state_2() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(3200);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log("I'm in state 2");
        state = 3;
    }

    public void do_state_3() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(3750);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 3");
    }

    public void do_state_4() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(1600);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 4");
        if (eyeball.getLightValue() > 200) {
            state = 5;
        } else {
            state = 6;
        }


    }

    public void do_state_5() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(3200);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
    log("I'm in state 5");
        state = -6;
    }


    public void do_state_6() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(15000);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
     log ("I'm in state 6");
        state = -7;
     {

    }
}
    public void do_state_7() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(1600);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 7");
        if (eyeball.getLightValue() > 200) {
            state = 8;
        } else {
            state = 9;
        }
        }



    public void do_state_8() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(7500);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 8");
           state = -9;
    }




    public void do_state_9() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(1600);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 9");
            state = -10;

    }




    public void do_state_10() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(15000);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 10");
        if (eyeball.getLightValue() > 200) {
            state = 11;
        } else {
            state = 12;
        }
    }


    public void do_state_11() {
        runMotor(PORT_A, -100);
        runMotor(PORT_B, 100);
        wait(30000);
        stopMotor(PORT_A);
        stopMotor(PORT_B);
        log ("I'm in state 11");
               state = -12;
    }



     public void do_state_12() {
         runMotor(PORT_C, 100);
         wait(1000);
         stopMotor(PORT_C);
         log ("I'm in state 12");
            state = -12;
     }

}